home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / kowin / archive / apl / gview120.lzh / gviewsrc.lzh / loader.c < prev    next >
C/C++ Source or Header  |  1995-02-13  |  889b  |  52 lines

  1. /*
  2.     Copyright 1995 Ogasawara Hiroyuki(COR.)
  3. */
  4.  
  5. #include    <corlib.h>
  6. #include    <sys_doslib.h>
  7. #include    "gview.h"
  8.  
  9. typedef struct {
  10.         char    *ext;
  11.         GVIEW    *(*exec)();
  12. } T_Loader;
  13.  
  14.  
  15. extern GVIEW    *GV_Load_Pi();
  16. extern GVIEW    *GV_Load_Pic();
  17. extern GVIEW    *GV_Load_Mag();
  18. extern GVIEW    *GV_Load_Hg();
  19. extern GVIEW    *GV_Load_Jpeg();
  20.  
  21. T_Loader    l_table[]= {
  22.     { ".pi",    GV_Load_Pi    },
  23.     { ".pic",    GV_Load_Pic    },
  24.     { ".mag",    GV_Load_Mag    },
  25.     { ".hg",    GV_Load_Hg    },
  26.     { ".jpg",    GV_Load_Jpeg    },
  27.     { NULL,        NULL        },
  28. };
  29.  
  30.  
  31.  
  32. GVIEW *
  33. GV_LoaderExec( fname )
  34. char    *fname;
  35. {
  36.     unsigned char    *p= fname, *e= NULL;
  37.     for(; *p ; p++ ){
  38.         if( *p == '.' )
  39.             e= p;
  40.     }
  41.     if( e ){
  42.         T_Loader    *tp= l_table;
  43.         for(; tp->ext ; tp++ ){
  44.             if( !strcmpi( tp->ext, e ) )
  45.                 return    (*tp->exec)( PathGetFullName(fname) );
  46.         }
  47.     }
  48.     GV_Err2( fname, "拡張子が判定できません" );
  49.     return    NULL;
  50. }
  51.  
  52.